// 登录功能测试脚本
// 此脚本用于测试用户名和邮箱登录功能

const axios = require('axios');

// 配置API基础URL
const API_BASE_URL = 'http://localhost:8081/api';

// 测试用例
async function runTests() {
  console.log('开始测试登录功能...');
  
  try {
    // 测试用例1: 用户名登录
    console.log('\n测试用例1: 用户名登录');
    const usernameLoginData = {
      username: 'testuser', // 请根据实际情况修改测试用户名
      password: 'password123' // 请根据实际情况修改测试密码
    };
    
    try {
      const usernameLoginResponse = await axios.post(`${API_BASE_URL}/auth/login`, usernameLoginData);
      console.log('用户名登录响应:', usernameLoginResponse.data);
      console.log('用户名登录' + (usernameLoginResponse.data.success ? '成功' : '失败'));
    } catch (error) {
      console.log('用户名登录测试失败:', error.response?.data || error.message);
    }
    
    // 测试用例2: 邮箱登录
    console.log('\n测试用例2: 邮箱登录');
    const emailLoginData = {
      username: 'test@example.com', // 请根据实际情况修改测试邮箱
      password: 'password123' // 请根据实际情况修改测试密码
    };
    
    try {
      const emailLoginResponse = await axios.post(`${API_BASE_URL}/auth/login`, emailLoginData);
      console.log('邮箱登录响应:', emailLoginResponse.data);
      console.log('邮箱登录' + (emailLoginResponse.data.success ? '成功' : '失败'));
    } catch (error) {
      console.log('邮箱登录测试失败:', error.response?.data || error.message);
    }
    
    // 测试用例3: 错误密码
    console.log('\n测试用例3: 错误密码');
    const wrongPasswordData = {
      username: 'testuser',
      password: 'wrongpassword'
    };
    
    try {
      const wrongPasswordResponse = await axios.post(`${API_BASE_URL}/auth/login`, wrongPasswordData);
      console.log('错误密码响应:', wrongPasswordResponse.data);
    } catch (error) {
      console.log('错误密码测试结果:', error.response?.data || error.message);
    }
    
  } catch (error) {
    console.error('测试过程中发生错误:', error);
  }
}

// 运行测试
runTests().then(() => {
  console.log('\n测试完成');
}).catch(error => {
  console.error('测试过程中发生未捕获的错误:', error);
});